# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Quake 1 Template

game: Quake 1
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.

Quake 1:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  difficulty:
    # Randomizer difficulty.
    # Higher levels offer less resources and worse items in the pool
    easy: 0
    medium: 50
    hard: 0
    extreme: 0

  logic_difficulty:
    # Trick difficulty for logic.
    # Higher levels require harder tricks such precise Rocket/Grenade Jumps and airstrafes
    easy: 0
    medium: 50
    hard: 0
    extreme: 0

  skill_level:
    # In-Game difficulty.
    # Primarily affects number of Enemies spawned
    easy: 0
    medium: 50
    hard: 0
    nightmare: 0

  basegame:
    # Pick which game/expansion to play
    quake: 50
    hipnotic: 0
    rogue: 0
    mg1: 0
    dopa: 0

  unlock_abilities:
    # Unlock Jumping, Diving, Running, Rocket/Grenade Jumps as items
    'false': 0
    'true': 50

  damage_remover_abilities:
    # Unlock the ability to not get hurt when doing rocket/grenade jumps
    'false': 0
    'true': 50

  unlock_interact:
    # Unlock using buttons, shooting switches and opening doors as items
    'false': 0
    'true': 50

  area_maps:
    # Select if full game maps are available in the in-game map view
    none: 0
    unlockable: 0
    start_with: 50

  goal:
    # Choose the goal of the game
    beat_all_bosses: 0
    beat_all_levels: 0
    collect_all_secrets: 0
    all: 50

  goal_percentage:
    # Percentage of chosen goals that need to be reached to win the game
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 25
    # Maximum value is 100
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-25-100: 0 # random value between 25 and 100

  included_locations_preset:
    # Presets for included locations.
    # Iconic includes all keys, weapons, sigils, armor and powerups.
    # Balanced adds 25 % ammo + health.
    # Dense adds 50% ammo + health.
    # All adds 100% ammo + health.
    # Use the custom option if you want to make use of CustomIncludedLocations.
    iconic: 0
    balanced: 50
    dense: 0
    all: 0
    custom: 0

  include_mp_items:
    # Set if included locations should also contain multiplayer item spawns.
    'false': 50
    'true': 0

  custom_included_locations:
    # A list of itemnames that will be replaced with AP locations.
    # The number after the itemname is the percentage of items of that type, which will get turned into AP locations.
    # Quake 1 Items: ["item_armor1", "item_armor2", "item_armorInv", "weapon_lightning", "weapon_nailgun", "weapon_supernailgun", "weapon_supershotgun", "weapon_grenadelauncher",
    #     "weapon_rocketlauncher", "item_health (Small Medkit)", "item_health (Large Medkit)", "item_health (Megahealth)", "item_cells", "item_rockets", "item_shells", "item_spikes",
    #     "item_artifact_envirosuit", "item_artifact_invisibility", "item_artifact_invulnerability", "item_artifact_super_damage", "item_key1", "item_key2", "item_sigil"]
    # Hipnotic Items: ["item_artifact_empathy_shields", "item_hornofconjuring", "item_artifact_wetsuit", "weapon_laser_gun", "weapon_mjolnir", "weapon_proximity_gun"]
    # Rogue Items: ["item_sphere", "item_random_powerup", "item_powerup_belt", "item_powerup_shield", "item_flag", "item_flag_team1", "item_flag_team2", "item_lava_spikes", "item_multi_rockets", "item_plasma"]
    item_armor1: 100
    item_armor2: 100
    item_armorInv: 100
    item_artifact_empathy_shields: 100
    item_artifact_envirosuit: 100
    item_artifact_invisibility: 100
    item_artifact_invulnerability: 100
    item_artifact_super_damage: 100
    item_artifact_wetsuit: 100
    item_cells: 100
    item_flag: 100
    item_flag_team1: 100
    item_flag_team2: 100
    item_health (Large Medkit): 100
    item_health (Megahealth): 100
    item_health (Small Medkit): 100
    item_hornofconjuring: 100
    item_key1: 100
    item_key2: 100
    item_lava_spikes: 100
    item_multi_rockets: 100
    item_plasma: 100
    item_powerup_belt: 100
    item_powerup_shield: 100
    item_random_powerup: 100
    item_rockets: 100
    item_shells: 100
    item_sigil: 100
    item_sphere: 100
    item_spikes: 100
    item_weapon: 100
    weapon_grenadelauncher: 100
    weapon_laser_gun: 100
    weapon_lightning: 100
    weapon_mjolnir: 100
    weapon_nailgun: 100
    weapon_proximity_gun: 100
    weapon_rocketlauncher: 100
    weapon_supernailgun: 100
    weapon_supershotgun: 100

  include_secrets:
    # Include secret areas into the location pool.
    # This only has an effect if they are not already included as goal locations
    'false': 50
    'true': 0

  include_allkills:
    # Includes all kills per level in the location pool.
    'false': 50
    'true': 0

  episode1:
    # Include Episode 1 in the randomizer
    'false': 0
    'true': 50

  episode2:
    # Include Episode 2 in the randomizer
    'false': 0
    'true': 50

  episode3:
    # Include Episode 3 in the randomizer
    'false': 0
    'true': 50

  episode4:
    # Include Episode 4 in the randomizer
    'false': 0
    'true': 50

  episode5:
    # Include Episode 5 in the randomizer
    'false': 0
    'true': 50

  include_hub:
    # Include the Hub Level in the randomizer
    'false': 50
    'true': 0

  include_end:
    # Include the End Level in the randomizer
    'false': 0
    'true': 50

  level_count:
    # Number of maps that should be included in the shuffle. Maps are picked from the enabled episodes. If this count
    # exceeds the maximum number of levels in those episodes, all of them will be included.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 3
    # Maximum value is 32
    9: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-3-32: 0 # random value between 3 and 32

  shuffle_starting_levels:
    # If enabled will pick levels unlocked by default at random instead of the first of each episode
    'false': 0
    'true': 50

  starting_level_count:
    # The number of levels that are unlocked from the start.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 32
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-32: 0 # random value between 1 and 32

  progressive_weapons:
    # Replace weapon unlocks and ammunition capacity upgrades with progressive versions.
    # This greatly increases access to weapons to your world.
    'false': 0
    'true': 50

  progressive_inventories:
    # Replace Inventory unlocks and their capacity upgrades with progressive versions.
    # This increases access to their abilities in your world.
    'false': 0
    'true': 50

  trap_percentage:
    # Percentage of filler items that should be traps
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 90
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-90: 0 # random value between 0 and 90

  traps_as_progressive:
    # Traps show up as progressive items in-game.
    'false': 0
    'true': 50

  shell_recharge:
    # Recharges 1 shell (ammo) every second.
    # QoL to make the early game less painful on harder difficulties.
    'false': 50
    'true': 0

  powerup_recharge:
    # Recharges 1 of each powerup every 60 seconds.
    # This is incredibly overpowered, only use it if you struggle with the game.
    'false': 50
    'true': 0

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
